跳到主要内容

Linux 文件操作

观察文件类型

如果你想要知道某个文件的基本数据,例如是属于 ASCII 或者是 data 文件,或者是 binary , 且其中有没有使用到动态函数库 (share library) 等等的信息,就可以利用 file 这个指令来检查,举例来说:

$ file ~/.bashrc
/home/alsritter/.bashrc: ASCII text

$ file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6af93256cb810d90b2f96fc052b05b43b954f5b2, for GNU/Linux 3.2.0, stripped

通过这个指令,我们可以简单的先判断这个文件的格式为何

解压、压缩

文件解压

# 常见的压缩文件后缀
.tar.gz
.tgz
tar zxvf FileName.tar.gz

压缩文件 非打包

touch a.c       
tar -czvf test.tar.gz a.c # 压缩 a.c文件为test.tar.gz
a.c

通配符

* 通配符,表示任意字符 例如 ls *.txt、以 1 开头的文件 ls 1*

? 通配符表示一个字符 例如 ls ?????????? 可以找到 test1.java

[] 通配符的使用 ls [1234] 代表这里面的任意一个字符

也可以使用 [1-4] 这种形式 表示1、2、3、4里任意一个字符,同理 [a-z]

创建文件

touch test.txt

删除文件

移除文件 rm 文件

常用参数

-f 即使原档案属性设为只读也直接删除,无需逐一确认。 -r 表示递归删除

rm -rf /home/project

千万小心 rm -rf / 不然整个根目录下的全部文件都没了

移动、复制文件

move文件(也可以移动文件夹)

# 不用加 -r
mv 123.txt ./test # 例如 mv 文件 移动地址
mv 123.txt ./test/124.text # 移动到另一个地方并改名

copy 文件

cp 123.txt ./test/124.text # 复制到另一个地方并改名
# 如果复制文件夹则需要加上 -r
# cp -r 目标目录 目标地址

文件改名

# 使用 mv 命令
# 将/a目录移动到/b下,并重命名为c
mv /a /b/c
# 将目录A重命名为B
mv A B